// 数据库操作
const mongoose = require('mongoose');
// 对象规则验证
const Joi = require('joi');

const {
	Schema
} = mongoose;

// 评论
const commentModel = new Schema({
		// 评论内容
		content: {
			type: String,
			required: true
		},
		// 订单id
		order_id: {
			type: mongoose.Schema.Types.ObjectId,
			ref: 'Orders'
		},
		// 创建时间
		add_time: {
			type: Date,
			default: Date.now
		}
}, {versionKey: false});


// 创建评论集合 
const Comment = mongoose.model('comment',commentModel,'comment');

// 评论数据格式校验
const validateComment = comment => {
	// 定义对象验证规则
	const schema = {
		content: Joi.string().required().error(new Error('评论内容不能为空')),
	};
	// 验证
	return Joi.validate(comment, schema, {
		// 检测到所有错误
		abortEarly: false,
		// 允许对象包含被忽略的未知键
		allowUnknown: true
	});
}


// 导出对象
module.exports = {
	Comment, 
	validateComment
};
